#ifndef GAME_RANDOM_H
#define GAME_RANDOM_H
#include "game_platform.h"

#include "game_math.h"
#define MaxRandomNumber 0x05f5b0d2
#define MinRandomNumber 0x0000091e
global_variable uint32 RandomNumberTable[] = {
    // clang-format off
0x25fbc20,0x18a7400,0x28bf942,0x09b33e2,0x0aaa1f7,0x589e736,0x5e80c6e,0x4c8a44f,
0x4c1d090,0x1827369,0x05ec03f,0x028483f,0x01ac0c7,0x2a7526a,0x4fa99ef,0x38dbc7a,
0x47f20d5,0x065ed97,0x3b906d4,0x2afc189,0x255d0eb,0x052d43b,0x51777b7,0x1fde481,
0x39d119a,0x3e5dbb8,0x3621424,0x1a9d008,0x025bd12,0x5c99d87,0x31931b3,0x3b56e35,
0x4bd1e65,0x343c278,0x0de2b3c,0x55eaf06,0x1c06fec,0x494f35c,0x375996b,0x27c08fe,
0x216fbd9,0x3793e8f,0x31470bd,0x5f5b0d2,0x4881d50,0x0f9d337,0x1776b80,0x50bcfb1,
0x1c0735b,0x01e9331,0x13f6825,0x19c7919,0x032ea3e,0x481b5e4,0x503c2aa,0x5ba3778,
0x5644088,0x2078601,0x06d13cc,0x2bb9bd4,0x1457787,0x38a6c0e,0x35510b6,0x298ca6f,
0x1873f99,0x28d4f43,0x1c780d1,0x3407cc8,0x4b97df8,0x0d51719,0x1ffe6db,0x27494ad,
0x12c790f,0x092c047,0x4731bce,0x3ac95ad,0x422a2fd,0x0075fad,0x366fb37,0x38be5fd,
0x0598fdf,0x2347980,0x34042bb,0x15ab953,0x31e14fa,0x5ca4a51,0x0ab8d59,0x59c40cb,
0x49c5676,0x4ab8c3f,0x13363f4,0x10f6123,0x48b43d9,0x0d76aaf,0x1e7fb56,0x1315a7f,
0x07e6db6,0x409b0e0,0x029d216,0x5dd621a,0x4a1a2d7,0x47f3b09,0x08170fb,0x520814e,
0x4339c20,0x10a2339,0x24db075,0x57269c7,0x5ed3332,0x342d8f3,0x3025bf0,0x00369b8,
0x26289c6,0x1c6cbb2,0x5c70b94,0x4258a1e,0x11b1e34,0x5e18c69,0x0248aaf,0x0a48750,
0x25a739c,0x27180ec,0x194c9be,0x2efd728,0x292f395,0x1fcfbec,0x2b42aac,0x2b17d20,
0x2eb8b56,0x056b3ba,0x4dbca01,0x562496d,0x57b027a,0x48029a2,0x2c868cd,0x2dc80b2,
0x43744e1,0x4db5206,0x57fc8f8,0x33bfed7,0x0d38946,0x35eca3f,0x571ee85,0x1fedbd7,
0x2411509,0x115b39f,0x434f159,0x5632444,0x2561e21,0x044e4ee,0x2beabd4,0x0fdaa18,
0x17b6769,0x5247bc5,0x355d1fc,0x36d6197,0x2664130,0x19b8f69,0x3a2280c,0x4f16903,
0x48633a4,0x5d0aa6c,0x0c23251,0x1e38f9f,0x5e1c12e,0x4f07ec2,0x51f5aa9,0x5f199c5,
0x4b03ef3,0x58f6313,0x1e785d6,0x4585aa8,0x3b7f72a,0x3cca9c7,0x5deecad,0x496056f,
0x084670f,0x2591044,0x02fff24,0x3f1f865,0x176871f,0x16298d6,0x003e793,0x456ba2b,
0x5be8ac8,0x2c47339,0x5ccab61,0x3701b4a,0x16a7bfa,0x1c15af1,0x5bd8cdf,0x211a353,
0x3baab03,0x01aef3d,0x1f26c0b,0x4b666a0,0x20662d2,0x28270f4,0x0815998,0x4b01a0d,
0x0f42485,0x1e46d2d,0x2297f85,0x3c83c05,0x12e3b43,0x2c7597a,0x4dfb903,0x35bea04,
0x15e7780,0x36a105b,0x2ea38c1,0x50ae00c,0x546f1d2,0x2ce5ded,0x27bb384,0x39d929c,
0x42fca21,0x589546c,0x4a96be9,0x15f58ae,0x5ee7607,0x5e3e71b,0x1ac5b16,0x148fd23,
0x28b118c,0x01c3b08,0x59cb180,0x452df05,0x03a74f6,0x4dab1bc,0x5ac5641,0x378039f,
0x5bc8874,0x4b0469a,0x1e4fa6e,0x3d033e9,0x0213512,0x214a472,0x3db14c7,0x55905d1,
0x084277a,0x2146af2,0x59452bd,0x2c7097b,0x2a7bbec,0x2453376,0x20d258f,0x54ca27d,
0x284e00f,0x11c2fbd,0x36e69ce,0x05d539c,0x151f345,0x21200ca,0x26ed534,0x525c314,
0x1f26cfa,0x3430215,0x0c22aca,0x4d88d4d,0x26a622f,0x342c232,0x257ef15,0x0ca94a5,
0x058705b,0x465cea2,0x0836067,0x388db71,0x1cfef89,0x11406bc,0x2160093,0x2f41e70,
0x33cddb8,0x21f6671,0x31b6c3d,0x0714c3b,0x2ba6557,0x33fd339,0x3e7e4ab,0x3898d40,
0x28c0e04,0x1e233ac,0x10dc060,0x168aefc,0x0abae54,0x52d6d59,0x32a1715,0x4e8d3ff,
0x4639590,0x4f94cf6,0x32db1e9,0x5efc414,0x4e576f5,0x4d9ac1d,0x0ab2b77,0x000c292,
0x0156f1a,0x0054006,0x482aa9f,0x1f54cc3,0x2b23b98,0x1e4fd12,0x2506cef,0x14df9c9,
0x5d5f377,0x1745064,0x1a11f5b,0x17d5ede,0x59609aa,0x23a5ab1,0x5e92c1a,0x3033148,
0x2c0c4e4,0x401a405,0x1c0dcee,0x3f8b502,0x094f222,0x06d1d42,0x3d3dbc7,0x49ad20e,
0x38b002a,0x2522f93,0x39a06d7,0x44cf3fb,0x1bf89a9,0x3561de0,0x0dfea9d,0x35b5066,
0x4c5772b,0x0d8a3b0,0x57e8e66,0x1ea64ff,0x04ebc9d,0x3b9a479,0x43979f7,0x4891b21,
0x3dc50a4,0x429181a,0x0971827,0x56d5eae,0x3939041,0x2e5f52b,0x2877656,0x3e8aa12,
0x52a1ca1,0x1169b30,0x3d0cfbe,0x40e234b,0x073a517,0x4dd6a37,0x23b9495,0x2941388,
0x43c1629,0x19fcde1,0x5204e37,0x18283db,0x3ad4302,0x1f80b46,0x525a251,0x1a884de,
0x378b120,0x3b4731d,0x4c0d405,0x45a5b7f,0x2d0a3ce,0x29fe2f2,0x535a2db,0x129a6eb,
0x44f3fb4,0x2c7d721,0x262468f,0x5e82c4c,0x085508e,0x22cfd41,0x1ef0a49,0x544e933,
0x5172a64,0x57ab75b,0x1b5779e,0x0c42a9d,0x5833072,0x3b001f4,0x0fbbee8,0x0b7b947,
0x24a4350,0x3a587fc,0x299e487,0x1b5efee,0x39b9b29,0x0664eb7,0x57d3f8c,0x1994795,
0x06cba6f,0x2ae722b,0x35d24d0,0x48bf6a9,0x0c8fbc2,0x49ab845,0x0c3ad6b,0x0a9442c,
0x362807d,0x45d74ce,0x51ced8e,0x2a456b1,0x379bcb2,0x19b56ab,0x35a6b08,0x1e51f6f,
0x36250bf,0x36474f4,0x56fd8b3,0x1680f19,0x5eb84c6,0x57fe16c,0x48cd972,0x372ac96,
0x420ddbe,0x5dc7250,0x23e3d43,0x5e9edbd,0x1c58628,0x00a5e33,0x1c2c006,0x060be32,
0x128d9c2,0x2f81bd1,0x10592d4,0x1e8b73e,0x1b82fae,0x3f74a5e,0x3a9c633,0x20d9495,
0x262bace,0x57c84f8,0x1a2b7a9,0x2cc5630,0x3b95d8f,0x50765b4,0x4f48d02,0x3f16bf5,
0x32c1fb1,0x3a25823,0x04675c2,0x2e21664,0x27c0c82,0x53aa5c7,0x48aa2bd,0x4c5f73a,
0x26f7e52,0x1a3f264,0x0b08353,0x5a0cd27,0x05db465,0x1b3ffc0,0x256ef10,0x117ecd1,
0x10deab8,0x0bfc922,0x1ec28b8,0x05573fe,0x2797efe,0x1cbb344,0x50a9a26,0x5305a88,
0x1ee2724,0x07b77a9,0x21c7d1a,0x59d5b13,0x3ac8ef8,0x1e484f6,0x0b2435d,0x5a5c27c,
0x27bec49,0x12dffaa,0x384deca,0x08a133d,0x59b8c3a,0x5791641,0x263c703,0x16f9b19,
0x146b2fa,0x5ef17bd,0x15c1c89,0x2b8c7f8,0x3e37929,0x14ca923,0x547506d,0x4eab6ba,
0x1d79e27,0x4fc12a9,0x2408039,0x16956fa,0x5e96358,0x34ae4f9,0x3d1f843,0x2c1d7cb,
0x193a718,0x37c563e,0x176b064,0x37685e7,0x0980cd8,0x0187a05,0x13d497e,0x3f804ca,
0x24af196,0x2e1340b,0x5d21ba4,0x0b57415,0x291043b,0x4c3398f,0x0cedb96,0x4ceef67,
0x43af356,0x11692d7,0x3100402,0x14c5cf5,0x30f8762,0x2dead23,0x42a7331,0x2fcddeb,
0x4799a5b,0x4fb3e6a,0x53e13a7,0x24e9d11,0x12c0f48,0x111807e,0x4ce99c7,0x218b1eb,
0x28e2f07,0x249d3d9,0x3bcfcf2,0x3bc9efe,0x5bb7a4b,0x5e2b266,0x3b25c63,0x36205b7,
0x1300160,0x006d8fc,0x09b0168,0x04e9d9c,0x161cebf,0x13ca2fe,0x205a81b,0x4b93405,
0x11b0bb3,0x520584c,0x496a2a8,0x24a84bb,0x00ab7fd,0x25e039d,0x5715201,0x0d79e01,
0x2d94ba9,0x39bafa4,0x1971de7,0x0b2e8d7,0x42ae5ab,0x1b81432,0x533064f,0x48db059,
0x130c52b,0x48dfb04,0x35e869e,0x0ca5734,0x24713fb,0x30a5bde,0x2e82459,0x3efcab8,
0x1649045,0x31bddce,0x0fbfcd3,0x11415d9,0x36b56ad,0x2efa5ba,0x1eb7a0c,0x5b68e98,
0x1ed55a4,0x2237cbd,0x112ada3,0x07bad37,0x240bc0a,0x2f26c6a,0x27b78b8,0x292231c,
0x58fe3f3,0x461df3b,0x2264d48,0x5a6d570,0x50a75c8,0x1d5da0e,0x307cc59,0x0f2a421,
0x50e93ba,0x3e7f036,0x3fb777e,0x00c623f,0x55d2697,0x2dcac78,0x2ca4a06,0x5401f8a,
0x2045ade,0x4cd8bf5,0x41736ba,0x4fa199d,0x35b5f42,0x3d810b2,0x35ef506,0x0b2848b,
0x38c0097,0x4af3fbc,0x0c2097e,0x36d3913,0x466521c,0x1e3e303,0x2976595,0x5e8493e,
0x2a984f4,0x5abf239,0x573f562,0x20bd833,0x3ef99f8,0x5ef2359,0x417376d,0x3530e42,
0x590e5c5,0x5d51cb1,0x2f1666d,0x46205c4,0x4198ba4,0x1fc4d23,0x0b3e1c4,0x330c7af,
0x0b179ca,0x0e3b1f2,0x572e8ea,0x248332d,0x0728b48,0x1721de5,0x2060e9d,0x125b758,
0x10a5dc7,0x14bacac,0x2482a14,0x37bed6f,0x1d84a0a,0x5e4da33,0x12e6f55,0x39cc93f,
0x5213701,0x4258eb8,0x3cc80a6,0x2a1816f,0x0674075,0x44299b5,0x21297e1,0x111e3c2,
0x0038e00,0x58a61a5,0x1e97f8d,0x55722d8,0x5a0a9b7,0x1a1bc70,0x357f462,0x19e1149,
0x2ce48ea,0x45ee37e,0x06d5e49,0x3cfe2d4,0x5398958,0x4c39930,0x12fe7b2,0x4ab48af,
0x2bb76b0,0x37c2b8b,0x06a85d3,0x3240ebc,0x560d9a7,0x0abe74b,0x2e2a468,0x3e4e057,
0x42681cd,0x4054845,0x2ff2e97,0x2428555,0x081d81d,0x14f54f7,0x1a694c1,0x39ab3f0,
0x3da8c47,0x19d6d32,0x200d73b,0x2098e89,0x3e3f699,0x30d1f10,0x2e93b52,0x258a49d,
0x23e02eb,0x21bbf4d,0x341650c,0x049aa75,0x29d0d9a,0x158b924,0x30c0d29,0x21e47a6,
0x0d77750,0x1ecbdd7,0x478c350,0x19ff4ca,0x270e565,0x36863dd,0x005358c,0x0b894be,
0x2c72d05,0x1ae64c5,0x3914af1,0x4011a75,0x32f1d1d,0x38e2c42,0x21875dd,0x34eb881,
0x00151d0,0x0185461,0x18e9d87,0x3c9400d,0x1aaf361,0x1daef55,0x1211edd,0x42329b5,
0x0098f21,0x073c1c9,0x199ae63,0x3c305f8,0x2ef3895,0x104b0c6,0x0d31b95,0x5e03d5a,
0x3b60ca6,0x24cf8f3,0x55b63a1,0x137b2f9,0x2d286bb,0x52122ab,0x3269b54,0x2942d1b,
0x192d475,0x2c8b5ce,0x0a9a029,0x2653963,0x19ffc86,0x273a189,0x0c0d0ee,0x49e4fc3,
0x017580b,0x205519e,0x12e35f6,0x5bf1dc5,0x24fe45e,0x3bbb161,0x12689b0,0x5a0c540,
0x31f9017,0x2181889,0x547d67e,0x2958c72,0x229169b,0x0a8e4e2,0x16258b6,0x40ee5eb,
0x28a8ac2,0x1ab48fb,0x50cb169,0x4fa5373,0x30ed1a0,0x46e2321,0x20ee8da,0x24d7a1a,
0x4d4cea8,0x20cf483,0x28c952f,0x0f8614d,0x5706f88,0x0ba5f01,0x26be404,0x56c9291,
0x5e46e91,0x000f275,0x548d96e,0x2eddee2,0x35355cd,0x24f1887,0x24ed1e1,0x20c67d7,
0x04344b1,0x531b26e,0x5b576fd,0x196a8b6,0x2149e1c,0x1cbd7cd,0x142cdb3,0x545b883,
0x5c684fc,0x465ce27,0x47bfb74,0x2e8c3fb,0x5ce9018,0x2e7bc23,0x4bd6c08,0x59d3028,
0x08d2244,0x47f0345,0x33798e5,0x0e42dc4,0x5531f69,0x3eb0e0a,0x03f3f69,0x0b112d6,
0x37320cb,0x4155589,0x2c74f4a,0x03e1b58,0x0c3de32,0x474bf76,0x37504e1,0x4ec4af7,
0x234df5a,0x4d5373c,0x0a67fcf,0x5952fbc,0x17cea49,0x52bdf7c,0x5528c8f,0x5ca6eb4,
0x4598017,0x3292ee3,0x2f1ce1b,0x09cc835,0x4909548,0x33536d0,0x33a3514,0x0389799,
0x37d98ac,0x4325e5a,0x129507c,0x217593c,0x21cd21f,0x4afa375,0x5cdf29a,0x0e57fd3,
0x4afe2a4,0x56eb403,0x46dc8bf,0x4ff2c3f,0x555eafc,0x47fc2b2,0x0330abe,0x238998b,
0x5c69469,0x4bdee8d,0x401e2ee,0x5322cfb,0x55b7fe5,0x36c2e84,0x1c41508,0x27e02c1,
0x0b453fe,0x4119f1a,0x2050439,0x37278a5,0x40eca8a,0x011ebb9,0x23cda2e,0x276c422,
0x5bf1203,0x5616435,0x29b9ad6,0x4b60eb5,0x258cc17,0x329c4a1,0x3272d82,0x3fbb7db,
0x10800f2,0x381a675,0x17b2d6d,0x4dbf4be,0x4d84036,0x3276e53,0x1b59727,0x21c9166,
0x4835986,0x58bd2e8,0x3c432be,0x4ef8388,0x4fa9e6f,0x3fb2619,0x3c5b9c5,0x5e75c10,
0x558aeff,0x27f4f59,0x16156a6,0x410fd78,0x593e691,0x26ab8dd,0x4376dfc,0x553af01,
0x0cd6408,0x2edc18b,0x3e67e97,0x46823cd,0x2b03010,0x3caae0f,0x1914134,0x14d322f,
0x297f4d9,0x4e55cc8,0x0fc1cbc,0x07769bf,0x29a1b3d,0x038f0ac,0x32c7a44,0x402d414,
0x16ba2c7,0x2949fe1,0x3266fc1,0x22e7ae2,0x2f598e3,0x046b9b7,0x363d17a,0x1eed091,
0x29a1927,0x2a66821,0x39c56d4,0x300b219,0x2959ccc,0x2dc80f3,0x2e83bd6,0x0ec4f9f,
0x467b631,0x0a6006c,0x23f0356,0x4ab8ffd,0x1fde4de,0x220e027,0x0b3a2af,0x28d8675,
0x06bf950,0x28330f4,0x418b0fa,0x23e74cb,0x51dde9a,0x10c9502,0x1f5aafb,0x575f079,
0x3e61c65,0x2394a2a,0x414bebd,0x35c83a2,0x0e686bc,0x08abf1f,0x1349369,0x364fb70,
0x47784e2,0x09bc4ff,0x5b2495c,0x591d52b,0x4a238b1,0x3453966,0x42a15ea,0x05811a7,
0x280847c,0x1d0ab4b,0x3094aeb,0x0f347dd,0x000091e,0x13a48d1,0x53f56f6,0x5dcadea,
0x1fcb905,0x2bfae02,0x2589b4e,0x0f18828,0x58d4eff,0x59cdd43,0x421789d,0x1a1fe2a,
0x486a0c2,0x5f36255,0x4bb4179,0x4fc2f83,0x22fb411,0x133995d,0x310618b,0x462f46e,
0x4999dbe,0x075e10b,0x39e776e,0x3908640,0x3732ba6,0x54f9119,0x4b94354,0x518dc91,
0x4d6a201,0x53ad98c,0x4cfef36,0x3bf70af,0x02598a4,0x11f3ebf,0x5347f8b,0x12189e3,
0x0a69e45,0x39d1570,0x44fe476,0x3448da3,0x4723da1,0x3bc9acd,0x282c7d8,0x0a8981b,
0x2e4b750,0x12f8b53,0x54910fe,0x1dccd43,0x3686f9b,0x46612bc,0x34003f3,0x07e87bb,
0x1440ebf,0x0ed78a7,0x237d0ca,0x49ebc02,0x5942a06,0x1cb97fb,0x5562e3d,0x4290ab5,
0x55df7ac,0x455d9d1,0x18fbb9d,0x3a0f699,0x30d9856,0x2a36f8b,0x088f492,0x1206e1c,
0x3f912b6,0x160ec8f,0x13e57ca,0x424bdc5,0x295e571,0x32cf84a,0x4d617d4,0x4bc8a73,
0x15f6e22,0x2730c7b,0x10423f9,0x00fef1b,0x5732cd3,0x19556f3,0x07fc090,0x4561369,
0x2cb2bdb,0x26b553e,0x16a1fd0,0x29be40e,0x45df9a7,0x159a8d6,0x3cf268c,0x42c3d8f,
0x5a475c1,0x545e869,0x4e2d3ca,0x50543d0,0x51ced88,0x0424880,0x0c7a612,0x3dce30a,
0x1c08ef3,0x1920efd,0x2b1dac9,0x13ca061,0x06f0d5a,0x5b4eba2,0x1fa5d20,0x09217bc,
0x367eb00,0x480d29a,0x11018d6,0x21b5d16,0x3e0b6d3,0x411bfdf,0x1761e09,0x206189d,
0x5a99723,0x28bc4bc,0x26d9018,0x38c4ded,0x21b9bee,0x04ffcf3,0x176dea6,0x401b5cd,
0x5b31d56,0x424f792,0x31f68ec,0x00365be,0x5b89ed3,0x38c9c65,0x49448fb,0x2cf393a,
0x3ef64f9,0x2a0bba2,0x4c10b1f,0x1df4358,0x363d973,0x4685c38,0x4f0cb28,0x37e5f2e,
0x5c80840,0x18c8d36,0x577876d,0x4ee537e,0x3694309,0x14e0d23,0x4208142,0x35beedd,
0x2c7a5a7,0x25405e2,0x530e8ad,0x159d360,0x4a222fa,0x0b605f4,0x1a05cca,0x31b136c,
0x2c11f6f,0x5de88b9,0x309b233,0x1bfc83f,0x54d19f6,0x0234ba7,0x4b1e72d,0x3bfd351,
0x30a54d0,0x132b426,0x2f1ba54,0x4619bf9,0x42d27bb,0x31c3583,0x5ca825a,0x15beccb,
0x4ef341b,0x12fff9f,0x15d9b86,0x137dd5b,0x2ac79d5,0x4038d7c,0x0ff158e,0x3019a0f,
0x18c0d8f,0x4ca6294,0x5e742bd,0x46af3a3,0x3f7aee1,0x015fdcb,0x3a0b3d8,0x12abf25,
0x08acc2b,0x562146d,0x502a74b,0x3866876,0x48e118b,0x12331ce,0x54f9819,0x337ccb7,
0x59fed7a,0x3c140fd,0x39f9f0f,0x28cf907,0x00f368f,0x3937f60,0x1feebba,0x066be31,
0x18bdac9,0x37850f5,0x1005aa5,0x0b57882,0x47893bd,0x05a77c5,0x3bad578,0x1e48d68,
0x457994b,0x547a8f4,0x1d5286d,0x5d7b0b5,0x49ad750,0x1da304b,0x5ea35ee,0x209764c,
0x2873114,0x3ecbf3f,0x069fe62,0x3c883ba,0x49e216c,0x5658ebe,0x59ca5e4,0x15c81cf,
0x5138a6f,0x5f55389,0x3c4dab4,0x0369eb3,0x48daf85,0x3fbf51f,0x5617107,0x4453cb8,
0x2fcc062,0x178f419,0x14263c5,0x3c0871c,0x1ae3dbb,0x5dae0b8,0x27ba6c5,0x56b7b79,
0x335e0c2,0x0250e09,0x111200a,0x5c0a5fe,0x3c04b74,0x595136d,0x2df4217,0x3a8e924,
0x4ea6baf,0x35f0bdc,0x26dc4d5,0x2b2c26e,0x4eec669,0x0512e3e,0x4f1285b,0x2e7a1ef,
0x0c7a1e2,0x41b494f,0x1f4444d,0x3c7c0f4,0x19c1486,0x3864906,0x123e62c,0x36bf32c,
0x3e4e5e6,0x15927b2,0x53e4801,0x2c655bb,0x076722f,0x1f56587,0x3e6a16c,0x059209a,
0x5b67055,0x4d31190,0x4cf8d7b,0x1d3999a,0x479a4a2,0x4399db1,0x4be9b74,0x0a43ccf,
0x43db67e,0x4f7d6f1,0x144ac39,0x214c8a3,0x210138c,0x2608bb7,0x2c3d628,0x3a7c0a9,
0x279f6de,0x353fdd9,0x57f252b,0x0e985b9,0x17e7723,0x011c167,0x0b75fb5,0x01f80f0,
0x59535ef,0x014ec9e,0x03462a8,0x054bc9f,0x19e9a58,0x1cdc46b,0x2da1ae6,0x5d4d360,
0x57c62ff,0x124f6c0,0x3656548,0x0b5b4d0,0x59c857c,0x39e5a31,0x01e38d6,0x3873a38,
0x385171c,0x01b344f,0x5eef249,0x0bb2c84,0x1825bf3,0x302a175,0x2e529cb,0x0745a54,
0x1120861,0x4153d19,0x4b82924,0x3b30428,0x545911d,0x58f0b52,0x0dce07a,0x39a1de3,
0x069bf41,0x212a0a5,0x10c724d,0x473d9dd,0x4b65d85,0x3a12c03,0x5b14b7e,0x3721b64,
0x1b1ab61,0x513a5a9,0x32592a5,0x03cb84d,0x074f239,0x1d9365f,0x07f891a,0x516b74b,
0x159c85f,0x0681840,0x42340d3,0x1a6d1da,0x2d73ce9,0x036ce41,0x469862c,0x03c3938,
0x0335c3d,0x1ffc794,0x288e8df,0x4fd2b7b,0x330d4d9,0x235aa39,0x1d6a7ca,0x59500d5,
0x2153aaf,0x1e9e1e5,0x3a4e985,0x037c120,0x0f394b2,0x3cd3f8c,0x29f0701,0x16b9cc9,
0x2b86b79,0x3b5fc12,0x08bd7c7,0x0dce84a,0x58bae7b,0x10d4b9b,0x068bde7,0x110ec20,
0x27af146,0x2947b60,0x1d1ea23,0x1bd8136,0x065009c,0x226ab1e,0x0cff7e3,0x294fc0a,
0x2ebb7fa,0x27ef6a1,0x572de21,0x1b50f9f,0x447a253,0x2f60db7,0x19f3357,0x2be3f20,
0x2ffe88d,0x05637f4,0x0c80abe,0x1093fd8,0x23835e5,0x27a0d5d,0x433a21e,0x0541e59,
0x45cfc1f,0x5c36eba,0x1e9f21a,0x5ae5fb9,0x049703b,0x36ae5ca,0x47dccfc,0x383d1fb,
0x3390389,0x44d7d45,0x4dbb398,0x103b285,0x1fe017d,0x4707516,0x4e58a10,0x24c4f43,
0x3e08051,0x06cefda,0x5de8879,0x412c947,0x2cf2322,0x569a76c,0x0923d77,0x3304d19,
0x515b1a5,0x0751f0c,0x2cdb685,0x2db17f5,0x2c62052,0x5adb45e,0x37c26c4,0x1bcf2ed,
0x2ddc582,0x5afbc49,0x3504e75,0x396f2a7,0x329a520,0x0b1c14a,0x22bb68a,0x03c3235,
0x3b17af4,0x1139391,0x4ba4da9,0x4a43769,0x25f1fff,0x1c50c2f,0x22ffe37,0x4d5fefa,
0x4c685ba,0x5644642,0x067be4d,0x05a70fb,0x57c9cb6,0x52f0f7a,0x31416f2,0x3e4e6a6,
0x289a982,0x0d864ea,0x20ef44d,0x0114875,0x04374c9,0x1ba1a0f,0x10ff7bd,0x0c69179,
0x176555a,0x413e638,0x536973c,0x0896b51,0x3cac8f3,0x4fcdac0,0x4ec88a2,0x51f76ac,
0x441e115,0x166bb33,0x3155488,0x06f75f9,0x2bf6a95,0x3fb4f5f,0x11251c8,0x0a001b3,
0x3cd5295,0x16b6c4d,0x39bc062,0x4623d74,0x25571e8,0x1fbec5a,0x3500a15,0x586d803,
0x23c25e2,0x10390e5,0x5e98b5e,0x5b2f52a,0x0a58ab5,0x225f303,0x4f361a4,0x32d763b,
0x15cb706,0x54ba161,0x3a8422a,0x0e681ac,0x33edc13,0x390249d,0x5ccfb84,0x3f6aad9,
0x062742f,0x59c61fe,0x1cf4fee,0x58bfbb4,0x135728b,0x187103a,0x1c87e1e,0x2acdeae,
0x11b4a39,0x3880d60,0x3e6067a,0x29039c7,0x4ec0f80,0x46e36bc,0x4639886,0x274fe99,
0x2d3589c,0x462bb6e,0x155694c,0x17ac31d,0x215e1f6,0x3a24be6,0x4904ae8,0x5514489,
0x099d36f,0x0b7dc1e,0x4e7708b,0x53695a6,0x503c563,0x2ceb861,0x52463fe,0x53b66fc,
0x0200f0e,0x33f5f26,0x0092c16,0x3981647,0x032ff4b,0x339e4fa,0x3b5705c,0x323ea42,
0x2fcdcce,0x2508fd0,0x2df0ffe,0x22c0e73,0x1906ce5,0x0de8d03,0x324e8a0,0x4adffad,
0x1d70167,0x2d404b2,0x50500aa,0x19cda4a,0x1147242,0x26502ec,0x3ad7060,0x179844f,
0x04fe360,0x3b382bd,0x58a8672,0x4c349aa,0x580ff29,0x096b4bd,0x4f8bb1d,0x40714cf,
0x26c6462,0x4fa24fb,0x2eac0ac,0x27815ff,0x1a6ba28,0x58bd2eb,0x52d9c46,0x4874b8f,
0x56f9d8a,0x0b181e2,0x4a3dea4,0x26f3edf,0x3bb2c87,0x3b14439,0x1e44dbd,0x3ce3f76,
0x39a884f,0x0fd3c95,0x517dd5a,0x15af767,0x09bc604,0x3c544b6,0x238876b,0x1e196d5,
0x3a89bcd,0x3bb8773,0x038059b,0x4782cd9,0x51dd663,0x5f27400,0x194c27c,0x591a739,
0x4cf8929,0x55c1c56,0x4fe4167,0x1e52aa2,0x3f2ee1f,0x1a67f51,0x1cebe31,0x2746cff,
0x4053d3a,0x248033c,0x3f1b7f6,0x2e20c05,0x573162c,0x05b951a,0x1fee2e1,0x386c002,
0x20bb182,0x2c23a1b,0x1294774,0x17aacc3,0x18ddf83,0x3663ad7,0x1fc5587,0x4e8b3a4,
0x397a2f7,0x2b78c49,0x279a893,0x5e9ed02,0x037f37e,0x35b489b,0x4eb22aa,0x2d1d9ad,
0x58666d5,0x5a9d152,0x36f5e8f,0x36d88ef,0x0ca9199,0x2cf4f47,0x299791a,0x34a1970,
0x424e302,0x5b28427,0x1bae99a,0x39c1727,0x4d09e7a,0x2b9f9c4,0x47fd4ef,0x2431282,
0x58150d5,0x09b3f7b,0x27e95f1,0x222302c,0x055ec2c,0x1fd5ed5,0x2197688,0x305c288,
0x129aa4d,0x1e8de6c,0x5ed2101,0x4792392,0x469c90a,0x16d48d5,0x1b0455d,0x237dc05,
0x205245e,0x0f4784f,0x1893823,0x36f9029,0x3a4a126,0x2d0f815,0x47c5d4f,0x1f387ee,
0x2dd205b,0x519879d,0x45ecf26,0x5a66b2d,0x5cc27ce,0x16966c4,0x294d60d,0x521131b,
0x294eea1,0x49db927,0x3644202,0x3606a6e,0x08cb1cb,0x0ebf5d9,0x3cd047b,0x18b4285,
0x24b3d3e,0x282043a,0x14b65cd,0x2a3a4f8,0x3a35788,0x2ec6707,0x1f3f8ce,0x4e70120,
0x504c6e8,0x077bc19,0x5947f1e,0x524d579,0x27e3d90,0x0889941,0x5718d01,0x57a6c3e,
0x17447aa,0x395ebef,0x4499fd8,0x01be0af,0x3e9735e,0x2795c7c,0x2371d3b,0x2bb7384,
0x4c1642e,0x1f6738e,0x106fa7c,0x4c1d4b0,0x3e146d9,0x3c4ec27,0x42a1bea,0x4c212f4,
0x0c51865,0x3de2b72,0x20db5fd,0x130d0c4,0x11ab1c0,0x044694a,0x11bdf4b,0x14a0a37,
0x22b67f9,0x55505ec,0x569c12a,0x53da49b,0x038944b,0x2fc694e,0x19fa518,0x088d7f0,
0x134b080,0x22705b1,0x5c300f1,0x1a6fd3d,0x57b9f87,0x55bf942,0x4d5ec21,0x30b3f3c,
0x5f43a24,0x48eb4ba,0x3bf574e,0x50aa9ad,0x10bbcc0,0x2972930,0x5c1af38,0x5b6e4b3,
0x5b8bbc5,0x2a957c8,0x1d81fe6,0x229ec75,0x42bbb1f,0x16ecd33,0x220beed,0x43e8df8,
0x51e81e6,0x1073269,0x3f48243,0x21aea01,0x0f3b11b,0x137a345,0x41ea2a6,0x25f329b,
0x455554f,0x53f1fbf,0x58ebdc0,0x483d4cf,0x30b6b42,0x050ed04,0x3fe3346,0x0b0dee7,
0x18fa559,0x2f73c2f,0x447cfba,0x1c8eb25,0x0276f70,0x541358d,0x5d3b522,0x1072e73,
0x142fdde,0x28e7c24,0x51edc97,0x0c0eeb8,0x156366e,0x233a0e4,0x3d786ec,0x032d835,
0x052367e,0x2ab8231,0x136324f,0x2893deb,0x3b990a7,0x48a443c,0x207b6cd,0x27567df,
0x38560b5,0x00868f1,0x24fe353,0x2f984e7,0x1cd91d7,0x11831c3,0x11b3f71,0x47f3605,
0x24fdf4d,0x128a2f1,0x0172238,0x275559c,0x32fc4ad,0x45fb368,0x2c41492,0x46fd814,
0x1feea1e,0x395040f,0x18a3afb,0x3be0033,0x47c3d53,0x30fb06e,0x0e28f80,0x4aad849,
0x20399fd,0x52e40d7,0x5599f13,0x4d7ffdd,0x2393ff3,0x1de3d07,0x40a1673,0x2ec8fbf,
0x4db471c,0x43fd628,0x070963d,0x437b42d,0x1228616,0x0804d61,0x5a07219,0x0366477,
0x024f0b0,0x38caf31,0x49781d5,0x3860224,0x50937f4,0x064f071,0x5dae922,0x4066190,
0x30deab5,0x3395f13,0x4685ad4,0x06d9464,0x39888b0,0x075ba11,0x0221417,0x43c2306,
0x1392e94,0x50f9af5,0x0737039,0x10ff559,0x11e3190,0x48c2dd0,0x35afd50,0x02cb5d1,
0x1849826,0x28af54b,0x1d6bcd9,0x155e63a,0x15d8143,0x005cd08,0x0ba592f,0x5518fde,
0x357d373,0x1eb6557,0x1e3edf5,0x4c13991,0x2fed72f,0x06dd0c5,0x5d5d012,0x3702d4f,
0x4eb6d3e,0x2bdb0e2,0x3ac58d6,0x1c101d0,0x58c19cb,0x0e29090,0x4312cc4,0x284fa03,
0x38b8c1c,0x2be77d1,0x349adf3,0x50aa1d8,0x17f7ac7,0x2597245,0x3dccbbb,0x10ee70e,
0x3f4490e,0x2bc6d04,0x39d0ec8,0x58b0878,0x51654a6,0x0bbbfb8,0x3a3b06d,0x559f4a1,
0x42219a1,0x3017722,0x0aef47d,0x3b46cce,0x02ebc7e,0x130784a,0x53a91d3,0x46d8138,
0x211fd4e,0x49b1f15,0x464b539,0x331b86a,0x06d201e,0x43eb0df,0x3c5ea77,0x3652a90,
0x0223d74,0x1a88fb6,0x552b4b0,0x57aa10b,0x5f112a8,0x31c99ae,0x0cfa0d3,0x5071e00,
0x30c2e80,0x4c31816,0x2e5a485,0x4624d16,0x47c1ff8,0x2b45e53,0x2723000,0x2249626,
0x0875c5e,0x0b6b2d9,0x2b31b65,0x16a3d7b,0x1b959fe,0x2bf426a,0x0cad505,0x335ee5a,
0x5c00638,0x18eba34,0x0ed9eed,0x4ffb7bf,0x0447dd8,0x0150247,0x4d3b861,0x1c1727f,
0x0abae20,0x2e9d4cd,0x278cc2e,0x34d569f,0x246f595,0x09ad3db,0x3fde2d9,0x4216d15,
0x4711c7c,0x2d7be5e,0x2172169,0x35b3479,0x3d959b8,0x2ee46cf,0x019490d,0x50ddb81,
0x3586db9,0x287b0f7,0x3b0fcb2,0x40dc79b,0x4b4aef4,0x2c69718,0x38c46f4,0x3a09b7c,
0x354b0d8,0x0b9ee66,0x43d56e5,0x54a441f,0x0d31d83,0x257b84f,0x08d2f93,0x57c5fa7,
0x53be545,0x5dd6059,0x46e7651,0x2f9a6a1,0x1cd2dd3,0x29be544,0x28a5b1e,0x0e5ba7b,
0x54a6a8d,0x30e0140,0x513a335,0x26db184,0x056a0d7,0x0fb49e0,0x30e2eb0,0x0199a28,
0x09fd593,0x07f0808,0x43dafbe,0x56d373a,0x02eb22c,0x4e485d3,0x1ea9945,0x28884a2,
0x0bd92ae,0x41546fa,0x4eec561,0x30c8371,0x37ac850,0x20d42cf,0x338a593,0x15829e4,
0x0a14211,0x1bbe4a8,0x3653d5f,0x55e6780,0x1ea7d11,0x3a7dac7,0x1733dbe,0x302ccaa,
0x5878b9a,0x4ee80fd,0x35617c4,0x09594fd,0x444133b,0x04b6186,0x5125de9,0x1e2bb57,
0x4ea1604,0x16fb83b,0x5dfdc04,0x006c7fb,0x30ff0e7,0x0025d1c,0x444e964,0x1831bcc,
0x0fc2732,0x142138e,0x1b93fa3,0x5860261,0x5001e76,0x23922fd,0x57b3ef3,0x0c2a225,
0x363ddd9,0x35de0f9,0x4efdbd0,0x539ef6b,0x0734324,0x02942c5,0x0ac81fe,0x53b928f,
0x304a268,0x388564b,0x3160ded,0x3ac253d,0x529644c,0x5f2a99d,0x003ef63,0x1b5ddf2,
0x00090c3,0x206faca,0x134441f,0x49d368d,0x40483e9,0x12779c0,0x425b4a0,0x59443a2,
0x13176db,0x4f7a065,0x1a0beed,0x544fae1,0x50c6d17,0x5ca70b4,0x437d512,0x540a42a,
0x50ea00f,0x2b68a5c,0x3445bd5,0x5523bb9,0x45938e1,0x394f0df,0x07fcdb1,0x07a859f,
0x06766b2,0x120e040,0x559d555,0x4ab267b,0x4eae18f,0x2155b5e,0x1c02a29,0x16f2607,
0x00580c9,0x4c7b930,0x425ab03,0x5ade3f8,0x18a2924,0x273c708,0x5869afb,0x0685c91,
0x0707803,0x2dbf430,0x48c0ce2,0x07855b4,0x37d2544,0x5b1b332,0x4f9ac2a,0x2b39ea8,
0x586eac3,0x504f863,0x2e2162b,0x014cd31,0x29b753d,0x2bdbf73,0x14760c8,0x4f55c30,
0x0214b02,0x2cf4d15,0x0796077,0x12148f7,0x2576b1d,0x4db5da8,0x3c011f4,0x3d5076e,
0x349c69c,0x0731ad4,0x55e351d,0x1ad3525,0x1681f88,0x0fdfa3b,0x3397fc3,0x254bad0,
0x5e4943d,0x17feefe,0x07ef88d,0x385fab5,0x1f669af,0x2ee8bd2,0x24467a2,0x1cb2b61,
0x41b333b,0x31ecd68,0x10df022,0x465f583,0x5cd5651,0x3995d51,0x5789e22,0x19b39d5,
0x4538b3e,0x5ad5278,0x58cc687,0x11bbde3,0x27ca288,0x167085a,0x4291b07,0x2f5d519,
0x14247fd,0x43db66c,0x41ac6e3,0x3136e82,0x58a4bab,0x2fdb80a,0x2e5f9c1,0x1a1f64b,
0x29cc7e8,0x5f47965,0x2eddbf5,0x368e6a8,0x4427447,0x14bec74,0x01fa5f3,0x4e917cf,
0x52799da,0x3ac6b85,0x40878dc,0x4a14158,0x470c017,0x3d4075a,0x02de91f,0x519a3e0,
0x1eaa180,0x527f995,0x1fb0d92,0x5a7de23,0x004a085,0x2748984,0x3c0743d,0x2521e09,
0x10a4add,0x46db737,0x434c57e,0x14d6a10,0x11561f6,0x23cdfcd,0x1b1c71a,0x50bd362,
0x27af44b,0x27a4c53,0x3e7d75f,0x45df0f7,0x57b13bb,0x3f96a90,0x2b46823,0x58669e6,
0x2579c9f,0x3d5e9b4,0x056d8de,0x0b350e2,0x0610349,0x535b2fb,0x2088d4d,0x1eca856,
0x1318410,0x1be9f64,0x3944cf2,0x41723b5,0x11fd187,0x5451241,0x29a1b57,0x528526f,
0x291ccad,0x3feb776,0x21021f4,0x054d2f1,0x4f81d64,0x5349cd8,0x00859de,0x4592e04,
0x2970f15,0x0ea2a0e,0x4a52cce,0x39136ca,0x04fefcb,0x471caa5,0x45466a7,0x16d6106,
0x29fa3f5,0x52f8943,0x4cc7146,0x5c40fc3,0x36cbd76,0x02f4637,0x33145fd,0x3691211,
0x446a561,0x47072e4,0x0afe379,0x367d265,0x3423472,0x4304cc9,0x1e095fd,0x17ed335,
0x43d8f14,0x4e52bbb,0x063de70,0x49d29ba,0x50f5628,0x25652bc,0x227dc8b,0x28b2d3d,
0x39ae83e,0x343893b,0x4290188,0x34deff2,0x02b27cb,0x0ded282,0x4132887,0x4397ddb,
0x3d39ca2,0x262362e,0x3641f5f,0x5cf2ed6,0x3644b2e,0x0f4f253,0x25e77dd,0x370ab39,
0x5e2ae1e,0x41dc788,0x141e519,0x0b81619,0x213397e,0x028dcd2,0x0f6e005,0x14ac0bb,
0x024a248,0x2155f30,0x342f8d3,0x4762127,0x0b5521c,0x35a23d9,0x2470781,0x4bfc237,
0x182ca82,0x510c8b2,0x1cb61a2,0x3b1552e,0x24df199,0x3f681a9,0x3fcd51b,0x1a5fc64,
0x52d97ae,0x3567d80,0x0552b58,0x3e28b14,0x0444038,0x1b7562d,0x56c90a0,0x3e9d751,
0x38a678b,0x317b05b,0x0343c94,0x150cf39,0x41ddb15,0x10445eb,0x373325f,0x5d69521,
0x4fdf492,0x5500b62,0x50e7ef0,0x38e0e8a,0x51313d6,0x38e256c,0x4cecbc0,0x1327b26,
0x2c45402,0x2f21925,0x0b73199,0x18d8cd8,0x0cf97d8,0x5524934,0x40f1cee,0x0ac1f30,
0x038215e,0x252e610,0x01bd1ac,0x104de4d,0x2dfba43,0x5f172f6,0x2a17279,0x247b94d,
0x2cfd5c2,0x047f5b0,0x4c3da68,0x577c563,0x1e3bccd,0x19030fa,0x1cdfa38,0x209a1e9,
0x2e0736f,0x34a32dc,0x038378a,0x27b8773,0x4ae3634,0x19d078b,0x2fc6d02,0x591ba90,
0x58bd132,0x3c6e155,0x12b88b0,0x514d281,0x20ead65,0x16ece63,0x56cb294,0x51cd4b0,
0x2751573,0x2038ca8,0x3aa0504,0x391e0d6,0x5032435,0x527f55a,0x36820d0,0x1255282,
0x31b5811,0x50934b7,0x244b255,0x29506fd,0x17d00aa,0x439ed38,0x5620221,0x5a1c06b,
0x1c2c0b5,0x4013d81,0x58913a7,0x50c9158,0x1dc02c0,0x0a33001,0x0ae2156,0x5d94ee5,
0x04f703e,0x12a0296,0x16f0e64,0x1a27591,0x41cbd89,0x12b22fa,0x2cbbf55,0x36ea21b,
0x598ce32,0x1efee86,0x29420cf,0x3bfc32c,0x28e5ad3,0x0072144,0x4cd3d1e,0x180e0d2,
0x11073a2,0x5e66751,0x06a6abf,0x205bd9f,0x16b333b,0x53653d4,0x1c8da26,0x376eb08,
0x20a5256,0x126b1c7,0x0f82586,0x4041a47,0x41f360e,0x0ba78df,0x56d2f6f,0x11fac28,
0x517d127,0x2d92148,0x41e1d0d,0x3a741e6,0x5ba2817,0x385fad6,0x0c8968d,0x0e62399,
0x27e4820,0x14d0b10,0x5e8a9ed,0x5726a11,0x594f686,0x54dd196,0x5a55fe0,0x2e61162,
0x5e44c67,0x3adc09f,0x4d02b34,0x5dc4aed,0x1f8e64d,0x304eb74,0x1eceaea,0x0824b4b,
0x116fe2d,0x1c96655,0x4cb71aa,0x1583453,0x00364c8,0x5942096,0x298b44c,0x16a8103,
0x18a943e,0x0ba14db,0x230f523,0x19ae366,0x015a616,0x48550c0,0x4f0f56d,0x3556e96,
0x43d9f5f,0x0870ab0,0x3055434,0x4c6b442,0x1e226e9,0x4cc1519,0x274281c,0x3a9771c,
0x5d11735,0x5bdeda5,0x272a1ca,0x2ad3b94,0x4278036,0x43fc82e,0x1b974ad,0x5171063,
0x4022d21,0x2d2c3f8,0x51cc0f3,0x441b9f9,0x16202c5,0x2993b0a,0x3a0db07,0x4eff140,
0x21eed13,0x542a9d3,0x0202c78,0x00dd921,0x45b363d,0x3984a2d,0x524916d,0x02290df,
0x3c9247e,0x11bf941,0x152ddba,0x13225c8,0x0f55f65,0x309d891,0x2a737c3,0x18e451c,
0x092b4ff,0x0e7d391,0x07973ae,0x560bde1,0x4226fcc,0x068916e,0x3c5099c,0x08e867c,
0x3e387c0,0x28ce724,0x585ebd0,0x2f5d789,0x1be3c66,0x3f69e61,0x3c27773,0x50060b7,
0x372991f,0x0cca1c6,0x08a8f78,0x516f7a8,0x412e556,0x088d78b,0x3039b76,0x5de41dc,
0x4f68863,0x1604125,0x23851d4,0x54a9730,0x4289c68,0x5602e26,0x40b5147,0x2e10712,
0x5121ce2,0x3848e9a,0x0ef3f5b,0x3df1ffc,0x29ba8fd,0x0f24891,0x5c14fe8,0x1f11cb2,
0x1eb4dff,0x5f0777c,0x356931c,0x321ba28,0x2072b13,0x376fec8,0x104ffbc,0x0ea7884,
0x2d4399c,0x129233a,0x237c8e5,0x3f59b93,0x02d8635,0x0131607,0x0004557,0x2e6bcfe,
0x114f4c5,0x5903cdb,0x1097802,0x0f3a9e0,0x40c5f01,0x133b092,0x4b3bcb8,0x5e1994e,
0x1bc63b0,0x24d4605,0x43c372b,0x44efbeb,0x48f24be,0x3e40248,0x2630d3b,0x5df0260,
0x0c15855,0x19f84cb,0x0896c14,0x42a346c,0x5b1eed7,0x57ef635,0x4452e60,0x12b1692,
0x2cef3e2,0x1602197,0x3e19176,0x1cbff3d,0x3caf74f,0x37e0649,0x0045c2b,0x098683e,
0x073aa9c,0x3db7227,0x1eddf55,0x4600495,0x09e8786,0x2b6b9d8,0x5a085b2,0x39cb7e5,
0x4bc7d04,0x02403f7,0x10fc46c,0x4a8f96b,0x5b20efc,0x3a483bd,0x386f4da,0x201b9cf,
0x3b4272e,0x232c154,0x0fda0e8,0x01985c7,0x1e3a5f1,0x4b12574,0x27e63af,0x3562f3e,
0x5de64e4,0x0bbd02a,0x4eba23c,0x088f4ed,0x443cd7a,0x24fdb6f,0x4d7ea09,0x356fb60,
0x5ce9bde,0x16be50e,0x5bca255,0x59a87a0,0x15d63db,0x2de9670,0x15b8b16,0x5c426f4,
0x4101b37,0x089c660,0x24f3696,0x5a701fc,0x5e7657d,0x33b563e,0x4f9dcd1,0x332634c,
0x2c0778c,0x40b2fc4,0x35bfc48,0x06c27eb,0x4912dba,0x34d09b5,0x25f5ccb,0x1f94519,
0x49dff7b,0x1bc74c6,0x0ba2045,0x0058df5,0x3244af7,0x4d4e6eb,0x5584905,0x3e25ebf,
0x3b360d4,0x395677c,0x176eb01,0x1e6a130,0x571b559,0x20a7945,0x5a77acc,0x1eb0e7f,
0x5d8b0c5,0x0009b97,0x3d7a815,0x093a5d7,0x520703e,0x2188adf,0x5c06034,0x2e22426,
0x0443148,0x1c1120b,0x54c60a9,0x4c1b3fa,0x11589a1,0x000ad8e,0x5340536,0x178a8cb,
0x0217351,0x33ceda5,0x4ad4a9b,0x085d75f,0x2bf65db,0x4e375c8,0x3f43db0,0x1e7228d,
0x279874d,0x3f349dd,0x0af62a4,0x42c41dc,0x2fd785a,0x0bab569,0x4b5002d,0x3109153,
0x4ec8d9f,0x0a65ffd,0x3b90272,0x2642636,0x07f0aab,0x2f60efa,0x4e514c8,0x577b5b3,
0x30a46ff,0x3440584,0x0bdc717,0x35da139,0x5a6c34b,0x4611776,0x4142c70,0x4c5b9a9,
0x01cc689,0x0b36813,0x5bdca26,0x0b3b09c,0x3a2feca,0x5744234,0x5484e19,0x1a2be57,
0x33e7995,0x4094e94,0x0a8cb16,0x549b0d3,0x03c8f8c,0x5de3ea5,0x346b851,0x41fb388,
0x55f3703,0x4e5d225,0x4e045e7,0x3a43a4a,0x4623ba2,0x35c44fb,0x5318ff6,0x0b283f0,
0x050fc2a,0x17cce56,0x2533d6a,0x29462b7,0x0839cf5,0x5219286,0x08e972b,0x4f0f524,
0x0967a28,0x133f356,0x55f55a5,0x5c56df7,0x3be968f,0x16e872d,0x5c27792,0x105ac1c,
0x4e44f53,0x1a62c3a,0x3e1ff62,0x1594075,0x2a6bca9,0x54321c5,0x45e62b2,0x5ae2dec,
0x54be524,0x305acdb,0x30f59c0,0x5c23955,0x0cc9d7d,0x2b8db2a,0x229b193,0x1aa3776,
0x57faf1b,0x55b8926,0x2809176,0x210845a,0x2d4e5a2,0x0d348d2,0x2879854,0x2567c1a,
0x56eb0dd,0x219d85e,0x1942757,0x226e531,0x220a468,0x56db533,0x48c45f2,0x3370c34,
0x0ff8e70,0x043d20b,0x1093490,0x06ae470,0x1fd3f81,0x479ac35,0x53e3ed8,0x36406a3,
0x2c7eba8,0x2b83d7d,0x4eefd4c,0x4e0c96d,0x2352cb0,0x289b223,0x2f03199,0x25be6e2,
0x11c56d9,0x17a3ba8,0x5f2b114,0x3162599,0x1497e86,0x370c557,0x1784bfd,0x02dcf2b,
0x537c3f9,0x44830e6,0x50f9271,0x266a190,0x357683e,0x3fb3a22,0x55c7489,0x06d7b8e,
0x2b5c6e8,0x0c26478,0x18d90ee,0x0978ade,0x00943e0,0x06cb74e,0x58ad6e1,0x40a9716,
0x501abd8,0x28ea82f,0x34f13b0,0x2b0f191,0x1b3c95b,0x1025b4d,0x21b0e09,0x5454018,
0x13f485f,0x08141f0,0x07d366f,0x219df82,0x0a62ed7,0x3d64b4f,0x4ee9dbe,0x4d87eff,
0x2787a27,0x4416a37,0x30dc833,0x579da88,0x0fa2133,0x340a7dc,0x261bdd5,0x37c6887,
0x41a706a,0x23cf60d,0x2df1548,0x056d0b7,0x1188b11,0x2a30207,0x0e1aea8,0x44e3551,
0x452edbf,0x2e5a872,0x3f0d0e9,0x182ee49,0x0e2c7fa,0x1224a28,0x48f737e,0x22314ef,
0x2fa129b,0x1a89593,0x5e9ab90,0x599754c,0x56ea12b,0x30d49a1,0x5508396,0x4d47e26,
0x100dc3b,0x5cd097f,0x14165b4,0x237ace6,0x599078c,0x3c3a153,0x2a9c557,0x0726b59,
0x563680f,0x1669b75,0x3cc1569,0x1362468,0x53d6940,0x51d92a3,0x3270409,0x07fadc9,
0x21ad815,0x4269059,0x3668168,0x1f4b27b,0x53e296a,0x410dec1,0x2f105ad,0x54c1ae9,
0x01d5748,0x3198915,0x557d556,0x07cb48c,0x065bb5c,0x20b4067,0x35388a7,0x0a13349,
0x21d9618,0x3b35d03,0x063c1da,0x0753112,0x2693ea2,0x2efd4c2,0x4d1d41d,0x206838b,
0x3074f16,0x41cdd6a,0x2fcb28c,0x3c851c3,0x50ef744,0x25c6605,0x4fc4f7b,0x221e2db,
0x0a03f27,0x0018eb4,0x2b9d1d3,0x043d910,0x534a607,0x3920814,0x54f6eb5,0x43b75f2,
0x1ca3f1c,0x2942391,0x5534bf3,0x1baf598,0x4a82634,0x1916395,0x1ebf1b3,0x2b292fd,
0x328cc86,0x230d137,0x5f1f696,0x5a7dac6,0x3040846,0x1c053b7,0x09bd200,0x153c991,
0x1bb3ed8,0x213aa6d,0x009d07f,0x5da9905,0x1f3370d,0x3cdf288,0x2bbd2fd,0x24f2a36,
0x5e58172,0x36d8ac1,0x11a8f33,0x3cec32a,0x0312419,0x10709c5,0x28cadef,0x4ee41af,
0x5703864,0x458cfb4,0x241b6a6,0x11db390,0x0f7e301,0x2c707e2,0x400175b,0x5891c42,
0x385ae1c,0x4907121,0x56bb6ba,0x0e6c569,0x09f8fa7,0x35a8fc8,0x47024d6,0x09897fc,
0x1015662,0x123c52b,0x5b9e314,0x240e189,0x33aac2f,0x353e764,0x2aef565,0x4e575c9,
0x5dc0831,0x00127e1,0x26fa6cb,0x22a07e5,0x31c2c87,0x0c5f5d1,0x48f07ac,0x2580c32,
0x2ba2ff9,0x21029f2,0x16ea5c6,0x5625692,0x459fed7,0x0e95864,0x27c44a7,0x55bc9ca,
0x41622b4,0x5656ee0,0x3cac131,0x39f6db8,0x40397c9,0x56a0e28,0x451b082,0x5e5ebbf,
0x39db1ef,0x2266b7a,0x5e49bd1,0x5b591d9,0x0b71e9a,0x35f76ce,0x165b943,0x38b5358,
0x3711c08,0x3e57cf6,0x4771a8d,0x4f1a6eb,0x5c3163c,0x3c783bf,0x49c7699,0x0a1851f,
0x42b2438,0x142acd4,0x1fef1fc,0x5e25e0d,0x593e2b1,0x0156b7b,0x5d37b2e,0x0d6d8c9,
0x4d2e988,0x08300aa,0x00ec9e9,0x0984910,0x52942b8,0x5f141a7,0x0132690,0x073c5f3,
0x17f0e7a,0x4209dcf,0x55aa752,0x3a1350a,0x4462012,0x38e15db,0x0cec768,0x4a2c14e,
0x0f5f2ca,0x080a82d,0x4bcfae0,0x2e45fe7,0x44f22be,0x01b0c4c,0x1ee48be,0x0e99505,
0x46b424f,0x30cd37f,0x050352e,0x4a08d62,0x54fd59f,0x4004d91,0x41b4855,0x3e842f6,
0x140b823,0x5ec0d28,0x460758d,0x4bbcfaa,0x2673ae2,0x2a42fd0,0x0e2abc4,0x4a71552,
0x5761461,0x4077e8d,0x5ec3132,0x3a56c2c,0x468a6cd,0x159f099,0x29d8b80,0x2c2178a,
0x4892e4b,0x370ab0d,0x37698a8,0x1d1667e,0x3e838a9,0x4b9855f,0x438c336,0x15fa946,
0x0bfa826,0x4b9367d,0x5c10c0b,0x3fc42d2,0x0d13588,0x4db43bb,0x333b86d,0x3f9661b,
0x41e26db,0x55b9dbf,0x467af4d,0x2acfe3e,0x48904a5,0x4eba402,0x2da38ed,0x32f1581,
0x0d505a1,0x5444229,0x5cf9d10,0x3dc31be,0x10300b8,0x4cae347,0x5ac6545,0x010290b,
0x271e1a3,0x2005181,0x074cd29,0x32e7b39,0x0876de5,0x56229c5,0x50977b0,0x5a452a8,
0x3108a1b,0x1a509b8,0x41ab1ce,0x5817305,0x1547ae3,0x1be59bf,0x3b09428,0x1041192,
0x56423b2,0x1ac0005,0x4ab9e0d,0x28c300d,0x5a8d1d0,0x3a5d4ba,0x14f855a,0x06d4d36,
0x18bdb2d,0x1ae1272,0x54afced,0x4c66750,0x2137e7a,0x0f1b4fc,0x4e64f3c,0x1bf665a,
0x4caa6dc,0x1fdb58c,0x0f7d524,0x40542e1,0x5832b11,0x0013eac,0x47c6063,0x101dd83,
0x4c5b26f,0x525374a,0x0a9aff2,0x350bd1f,0x270a838,0x3ddc785,0x4a17168,0x2120898,
0x2a43a29,0x57ec46d,0x43eb22e,0x07c3de3,0x4888d24,0x35b9407,0x01b63c7,0x5831ef8,
0x173ffa1,0x51a68eb,0x2029311,0x2b93003,0x1fcd13e,0x3f1cea5,0x4bb5dbb,0x5b2f342,
0x2af81f4,0x180d8f0,0x2ac6d4c,0x0e664c9,0x12499be,0x188b92f,0x5a50c7d,0x37dd344,
0x21a147e,0x00c8e2a,0x241b863,0x4e9fdca,0x57ac7b1,0x07f5741,0x4e36605,0x3e89a38,
0x44db3fd,0x19322b8,0x39c7b7e,0x0d93572,0x0374cb8,0x00c77e3,0x31b8111,0x476c8f0,
0x152fbb2,0x0eefe15,0x2e2fd8d,0x4544b87,0x39ace7b,0x3a39f52,0x2a613d2,0x2dde1d9,
0x3aad497,0x511fccc,0x4ecf035,0x0dff1f3,0x50f5c18,0x25cb284,0x0795610,0x1c97a5d,
0x3efad67,0x3b4f0a8,0x52c557c,0x5813623,0x09ad7e0,0x234f6af,0x511c99b,0x1835986,
0x08e6561,0x05c46ee,0x48735cd,0x0c03831,0x1d856fd,0x4d3dc53,0x412c3a6,0x1bc9076,
0x26c1ad4,0x56b0482,0x250f21f,0x2bcf609,0x25ee84f,0x4c9e090,0x00ad3d9,0x5465afe,
0x2cdc9f5,0x0549e0b,0x426a39f,0x3416878,0x5d8e1aa,0x46e4212,0x1fe2965,0x14e3f10,
0x5647622,0x36ea7e5,0x47e7550,0x389ecf3,0x0ea2d70,0x0e51623,0x3cfeae9,0x37c8987,
0x2242eee,0x29cf78a,0x439e444,0x1fc660a,0x104b5aa,0x0c7252b,0x34f4610,0x5e900a3,
0x030b7e3,0x4eb95c0,0x115d303,0x425faa9,0x019e521,0x293d925,0x4e28377,0x0a4dd0d,
0x13d797f,0x15db36a,0x1913bb9,0x1610dbc,0x1efa257,0x3b90664,0x0e7cb1b,0x4123653,
0x0b8f45f,0x2a4bcf0,0x3d92dd6,0x51f8f23,0x5576916,0x11f61e1,0x3493c75,0x3a49cb0,
0x2bc6a5c,0x035cf4c,0x5863eb9,0x3d55e0d,0x46fc8c9,0x5e8befa,0x38575fe,0x0568252,
0x54cc5e9,0x174d6bb,0x173f8f0,0x3631c99,0x2212893,0x4b8e938,0x1c83655,0x31a979f,
0x3e3c734,0x1c200f5,0x0d8e95a,0x53c684e,0x42a2d0c,0x20615ba,0x362710e,0x18701af,
0x12f0872,0x3675e87,0x26759bb,0x143551e,0x3f152e2,0x1514161,0x22e52bc,0x3831a1f,
0x578b041,0x15dcd25,0x2f88496,0x20fd745,0x51d221b,0x5d0b12b,0x2513360,0x131756f,
0x0d8ecb9,0x49a17a4,0x07a1826,0x24d3e99,0x052c974,0x36ea0b7,0x345f06d,0x1ca3984,
0x2ebf7a5,0x4d475cf,0x121e357,0x269c78f,0x10bbe1a,0x111a8a8,0x3b6c95f,0x54f3306,
0x5b97d06,0x3dcd6ca,0x2c5f9f5,0x24e394b,0x0d4cb5c,0x0eb7f07,0x1eab954,0x3284e55,
0x0ab3276,0x56d652c,0x32bb20d,0x1bd4c34,0x343d120,0x3f90e5a,0x1e89bc3,0x5a96143,
0x586aad4,0x2cbf25e,0x1f2e65c,0x00b0d85,0x03f57ff,0x5a5002d,0x5479f03,0x45655ff,
0x31ece6a,0x0dab9ad,0x007628c,0x4046c1f,0x50b21ef,0x4816e40,0x1043c78,0x1bac62d,
0x0bc25a9,0x59d2fb5,0x5e5d6ae,0x02b89f3,0x186ca6c,0x35399d0,0x4964cd9,0x5060c06,
0x41e6f39,0x45ca818,0x0469f3f,0x34c7600,0x1dee2dd,0x4f99eff,0x0c4be9f,0x19bacae,
0x4a4e039,0x196f486,0x485b3fc,0x4d02b5a,0x37ec9f7,0x3f9fc99,0x28c755f,0x339b666,
0x544c9ee,0x0b21c30,0x103dcc2,0x4a1d4da,0x435fc82,0x3b11f07,0x1793282,0x222eb49,
0x07139b7,0x03521c9,0x526f6c0,0x4c01dc4,0x4f015de,0x46542b4,0x2e87843,0x4023c71,
0x520df8f,0x576f7b2,0x37424ea,0x47476d9,0x08c58d0,0x425f4ac,0x25b9150,0x4acf48e,
0x081f505,0x3035d4e,0x46f516e,0x4b7e160,0x230fb51,0x3c13eb7,0x24a7620,0x552152d,
0x3ea422d,0x4883704,0x4c1db9b,0x2e4a6fa,0x2985d78,0x01fe5da,0x4ec78d4,0x24dce4b,
0x34aeb00,0x185ccde,0x47c0bf3,0x20cb379,0x46f46ce,0x521f58e,0x3ef4ed5,0x0efd138,
0x0bd579c,0x1bfa207,0x109b259,0x4b3b0f3,0x3ca7c15,0x4f973dc,0x25e34a3,0x5224dc6,
0x1f63ccc,0x3d2d4a2,0x1d4656d,0x5e6eb68,0x24e2f0f,0x401d318,0x0dce2bd,0x1e1dbc4,
0x459cf0a,0x362effa,0x2b6328e,0x37df5ac,0x1b66ed2,0x3760be8,0x094680d,0x070d00e,
0x222a3df,0x509a5aa,0x5cc02b2,0x0c5fde5,0x3e6c085,0x23770df,0x47cbfb2,0x2bad2b5,
0x4eccb6f,0x2bdb0dd,0x33d9dc7,0x3b88826,0x019434e,0x2011a5b,0x0e92ea8,0x1ef1d87,
0x4b95fbb,0x47010b5,0x4f3b28a,0x03c8b6e,0x26ed6ec,0x41c9fbf,0x22bee72,0x31c7e82,
0x29e5a5d,0x3dfcd89,0x3ff4370,0x2634bbd,0x18879f5,0x385847d,0x441d5f9,0x0afb964,
0x391e13b,0x2ac0908,0x4e0c639,0x148d6b4,0x13ae90e,0x5521fdb,0x5682352,0x5c159a9,
0x31f412b,0x5f22c4b,0x3b0f87c,0x0dad242,0x4392cfc,0x2cf5d88,0x19107dd,0x3bcc9b3,
0x2107687,0x4ded179,0x40ea7f0,0x3aeb23f,0x16260fc,0x52776a2,0x4f10b7a,0x2970ce7,
0x0a0b76a,0x3413d93,0x45251fd,0x3ee7d15,0x1dc2734,0x0302b8f,0x292872e,0x472dfbc,
0x3287d97,0x41fa6f7,0x0bb72c6,0x36ba3b2,0x0119bc1,0x1a0fa6a,0x3e8d75b,0x11b62d4,
0x4c425d2,0x523d7d2,0x0f5b0a8,0x4579e7f,0x51e6852,0x0ae603c,0x2a9cf9b,0x024a26f,
0x00e1d7e,0x405a4d0,0x2865409,0x3b9e727,0x43120c3,0x37b21dd,0x42a4c80,0x13a6400,
0x03474ac,0x5731c6d,0x5e87792,0x028aa0f,0x405b2ab,0x2cf1656,0x29b7397,0x28b9259,
0x52c2db4,0x1ea8dfe,0x07a7541,0x21306b8,0x19ace9b,0x47159b5,0x386e3b8,0x3bea767,
0x5c02d4d,0x5859c19,0x45e2de1,0x1fb02c0,0x1340513,0x130300c,0x4767f69,0x2ea2537,
0x1a65d90,0x31c7ee8,0x2489b2d,0x4d31e99,0x1b43bda,0x4057521,0x217660d,0x1b9703a,
0x58fe5dc,0x3d9ef65,0x0f3de1a,0x2815b94,0x186d2c2,0x3852d93,0x4a8ff4e,0x5091350,
0x49b6010,0x17a8c82,0x3836173,0x344982f,0x03e3309,0x49fce0c,0x3425cd6,0x20bce3f,
0x2743e9c,0x29e1828,0x4aa6d1d,0x3febca2,0x41a19b8,0x2140652,0x5364d4b,0x530322b,
0x1ad7f3a,0x4c6e08f,0x4df8277,0x502e2cc,0x008e1b1,0x1889c97,0x2d7dcbd,0x2d07285,
0x1a06928,0x0ea29e1,0x44c473c,0x5d3f4c8,0x319e781,0x00236c7,0x20f2f3a,0x598465b,
0x237e38b,0x516aa3e,0x149e7d3,0x2e466e4,0x53b6205,0x2eaa651,0x3672e76,0x5bb3ec4,
0x11f53ac,0x21a4ba5,0x39d601f,0x1ea8f6a,0x4e26545,0x2797bb1,0x283587f,0x02710e3,
0x54f5a22,0x36abe3e,0x4398087,0x15b2d8a,0x295d960,0x4140ded,0x0ea6f37,0x0471476,
0x45bc2d4,0x4e1ff75,0x3ee60c3,0x0e8b81d,0x487b666,0x4a253e6,0x242963d,0x4e633b9,
0x37a297a,0x0bd94a9,0x5030c37,0x352e0d9,0x29cfe0e,0x25b6603,0x388965c,0x3dec2b7,
0x53ed941,0x1d25c03,0x213c408,0x2df4ea9,0x3b2e995,0x30a02ec,0x1e05ac9,0x495e6ad,
0x3f5ee0d,0x23063ba,0x42b5dd7,0x473173a,0x50a378f,0x2cf505b,0x17e1f4f,0x0b52095,
0x0a6028d,0x10a2707,0x4abb98c,0x2896eeb,0x291884d,0x3a24c17,0x1bcaab6,0x556721e,
0x363d5b0,0x57e853c,0x246a1a3,0x0a69a2d,0x2aebae2,0x56f09b8,0x2518a5d,0x3ccf761,
0x5de417f,0x58fc8b1,0x05189d8,0x1980c9b,0x3c11636,0x1c273fb,0x173ad2a,0x43e2840,
0x4422aae,0x174676f,0x5c4674c,0x2262f45,0x3b37201,0x4e860a5,0x49e9fc5,0x567b627,
0x301d074,0x3638196,0x1caa618,0x3aa913b,0x4a3aa0f,0x4897698,0x58cc37d,0x1a8658e,
0x3e117ad,0x57d78a8,0x0774c3b,0x3dda174,0x4cdc774,0x5c73a1c,0x3ceb751,0x5185a17,
0x50c215c,0x087587a,0x3ae53ed,0x566e915,0x50280a8,0x27601ad,0x1553826,0x3521ea0,
0x2fb8605,0x00cdcee,0x249f066,0x30e09ae,0x5eed472,0x2f03d48,0x1142614,0x4c6b6b8,
0x4d09818,0x4e66c15,0x178250b,0x09b0496,0x1c3a3bc,0x06428e7,0x397ab51,0x03f87b2,
0x34ff53b,0x1a33a18,0x0e864c9,0x36685f0,0x17c22ff,0x5e37c10,0x333ca77,0x4be6ffd,
0x5c9c6b4,0x1e86863,0x4bcb010,0x1879913,0x3102877,0x371d8b4,0x59cbde5,0x4c40f19,
0x4c902be,0x1274fdc,0x5becf01,0x52667cd,0x2e1984e,0x57cd70c,0x425f039,0x3d9a932,
0x1013817,0x09eb41d,0x5018aa5,0x11919b3,0x3508c33,0x0f5eb1d,0x2921176,0x146c151,
0x056a3ce,0x5c19a05,0x2342ea8,0x0491ff9,0x2146ed8,0x4b133db,0x220b9a0,0x345c704,
0x58b1db6,0x3131326,0x5eb31e9,0x454098b,0x2cb198c,0x0b82590,0x5b31c6b,0x4b49b6f,
0x5e98fb7,0x5aabbaa,0x316d692,0x5d9d2e8,0x2d5013c,0x5e6fea2,0x38f08b0,0x3fd80de,
0x0778c99,0x3335291,0x4ec9a75,0x1dc455d,0x09d7bce,0x4905797,0x0a16c6a,0x09d509c,
0x26208de,0x2e6b003,0x0647d3d,0x1877c09,0x3cb2c50,0x4d4152f,0x1b2d1a4,0x403440f,
0x56de6c5,0x45fd369,0x1ac8fb9,0x10ec42c,0x43abb27,0x587b2e5,0x1af1184,0x570859e,
0x2dddf36,0x164efea,0x1224589,0x1e5526e,0x1f6742a,0x233acae,0x20aa96e,0x350792d,
0x059382e,0x5c3e476,0x436e227,0x2d7ece5,0x2dcda33,0x2cd3fc1,0x4c44f2f,0x4c354cf,
0x45eec84,0x2b4dcd0,0x326d9e1,0x0396dc2,0x0763572,0x43bf5a5,0x0d328d0,0x3643c53,
0x32c2cd2,0x369bfc0,0x3932770,0x5636e7c,0x3f6231f,0x2eee1b2,0x553ae10,0x0b519b5,
0x3206c1f,0x5479827,0x283b04c,0x4d58a9d,0x00e9f1e,0x4beced9,0x145bb42,0x36b64ba,
0x57a498d,0x2d9dbb4,0x10bdb55,0x0d0d417,0x1890151,0x28220e9,0x34b0786,0x3cc2c93,
0x5451c46,0x364b916,0x4dd57e2,0x0007ede,0x235a806,0x3d05b05,0x19353a2,0x53b2987,
0x29b675d,0x01b90c5,0x032bdeb,0x2afc8a3,0x3e5f5f6,0x53aef4c,0x5c9f73d,0x41ec7d5,
0x55363b0,0x2cc941e,0x23a4b91,0x51b7e61,0x2aa751c,0x1baddba,0x583f5a5,0x4cfad5c,
0x3023ca1,0x3246d3f,0x59a897c,0x181674c,0x3088956,0x1547674,0x28f0279,0x57d9825,
0x1841377,0x5f0fbfa,0x5cfcf72,0x335cfdb,0x40430cc,0x216cd76,0x0b8b257,0x010382f,
0x0d5fa66,0x1ea5299,0x0867e06,0x3ea7cf2,0x235a621,0x02d372b,0x52b2c73,0x4cf1030,
0x34791f3,0x144df7f,0x4079cad,0x19c1260,0x3851aeb,0x5e58b8e,0x0fab986,0x3bbac9e,
0x29abd37,0x06319d0,0x1e6c3e4,0x2d6d586,0x57985ee,0x54c02cc,0x2ce422b,0x0292c45,
0x1e16121,0x48d7169,0x2a124b3,0x27e7cfa,0x4badc38,0x1786e86,0x3f6400b,0x3ba5101,
0x11b6a4a,0x3ba8ea4,0x0c76568,0x0be2141,0x0dc4748,0x1298c76,0x10c8f66,0x365a25a,
0x16cbeaf,0x01cf882,0x3b5b61b,0x0a68557,0x07917aa,0x359e5e0,0x470f4e1,0x55687fc,
0x4da1030,0x51fb1c5,0x3dc71a4,0x1e53870,0x2bc7357,0x0894678,0x206b6ea,0x22d3b50,
0x59d6356,0x2415b7b,0x01e44de,0x2d8b401,0x35efb28,0x5a29bb4,0x2cf6d52,0x1c36f29,
0x3bf0704,0x2b1c651,0x3b9bb32,0x2e64a0a,0x43f11e2,0x4d97f20,0x4289d1c,0x5208b2f,
0x1f9b674,0x468e1d4,0x0db93ef,0x5d9e683,0x0b5c3a9,0x0ff7a67,0x1e8db9f,0x4731d64,
0x1b022fc,0x1fd18df,0x507918e,0x02adb2c,0x28cd9f5,0x2c90228,0x0de09d4,0x0a5a473,
0x2ca8eba,0x3e23d63,0x1618e1b,0x3923acd,0x50c281f,0x51e1bd0,0x0df39aa,0x4f86b6d,
0x3ec590d,0x5f302c1,0x5174759,0x227fd00,0x17b4bbe,0x08514e8,0x21f09cd,0x2c6538e,
0x566beef,0x24e7216,0x00ffb1c,0x56a96e4,0x33a79f9,0x557aecc,0x04fd86b,0x4c1c69f,
0x4cc5616,0x3801526,0x101af6c,0x402f3f9,0x4f8a18d,0x0d354e4,0x0866ae8,0x3b8786d,
0x47cb9e9,0x476d1ae,0x1948e81,0x18091f2,0x1502a11,0x22614fd,0x5d37a5c,0x187547f,
0x1029413,0x2485010,0x0e730dc,0x4d53bf8,0x0d88947,0x3965d95,0x3c956af,0x32030ae,
0x21b0917,0x24dd43a,0x40f893e,0x519816b,0x1ae07d8,0x135d416,0x543a201,0x46e10f3,
0x20cd9a0,0x516414b,0x1dc1815,0x25c24df,0x40ed27a,0x390032a,0x1a4c546,0x04102aa,
0x357e67c,0x4aace0e,0x26bf45a,0x4f66365,0x4feaff4,0x173ef61,0x3aef7b0,0x0c2beec,
0x2df3c6f,0x5aace1a,0x3063210,0x35a1cf9,0x181dd3f,0x1dd32fa,0x4a177ed,0x2ed4876,
0x50cd193,0x1a22651,0x151e40c,0x3d2c2cc,0x40896df,0x405e954,0x1bc3ec9,0x1ac082b,
0x1573aeb,0x3b9b14f,0x55b89ad,0x39cc744,0x2964cfd,0x35d41f0,0x03459aa,0x3e25bbe,
0x4cb84c4,0x003503e,0x3d73331,0x0fef703,0x032405c,0x2ecd2ce,0x56b5165,0x59ab070
    // clang-format on
};

// 定义一个结构体，用于存储随机数序列的索引
struct random_series {
    uint32 Index;  // 当前随机数的索引
};

inline uint32 RandomNextUInt32(random_series *Series) {
    uint32 Result = RandomNumberTable[Series->Index++];
    if (Series->Index >= ArrayCount(RandomNumberTable)) {
        Series->Index = 0;
    }
    return Result;
}

// 随机选择函数：从 ChoiceCount 个选项中随机选择一个
inline uint32 RandomChoice(random_series *Series, uint32 ChoiceCount) {
    // 通过 RandomNumberIndex 获取下一个随机数，并对 ChoiceCount 取模
    // 模运算返回一个范围在 0 到 ChoiceCount - 1 之间的随机数
    // 此时的实现仅为占位，后续将根据实际的随机数表或生成方式填充
    uint32 Result = RandomNextUInt32(Series) % ChoiceCount;
    return Result;  // 返回一个有效的随机值
}

// 随机生成函数：返回一个介于 0 到 1 之间的浮动数值
inline real32 RandomUnilateral(random_series *Series) {
    // 使用 RandomNumberIndex 从随机数表中获取下一个随机数
    // 并将其归一化到 [0, 1) 范围
    // 当前实现仅为占位，后续会根据实际的随机数表来完成
    // 通过将表中的随机数除以最大随机数，得到一个 0 到 1 之间的浮动数值
    real32 Divisor = 1 / (real32)MaxRandomNumber;
    real32 Result = Divisor * (real32)RandomNextUInt32(Series);
    return Result;
}

inline real32 RandomBilateral(random_series *Series) {
    // 通过将表中的随机数除以最大随机数，得到一个 0 到 1 之间的浮动数值
    real32 Result = 2.0f * RandomUnilateral(Series) - 1.0f;
    return Result;
}

inline real32 RandomBetween(random_series *Series, real32 Min, real32 Max) {  //
    // 使用线性插值函数 Lerp，在给定的 Min 和 Max 范围内生成一个随机数。
    // RandomUnilateral(Series) 生成一个介于 0 和 1 之间的随机数，作为插值的比例 t。
    real32 Result = Lerp(Min, RandomUnilateral(Series), Max);
    return Result;  // 返回生成的随机数，它位于 Min 和 Max 之间。
}

// 生成一个介于 Min 和 Max 之间的随机整数（不包括 Max）。
inline int32 RandomBetween(random_series *Series, int32 Min, int32 Max) {
    // 从随机序列中获取一个随机数，然后对 (Max - Min) 取模，确保结果落在 Min 到 Max 之间。
    int32 Result = Min + (RandomNextUInt32(Series) % ((Max + 1) - Min));

    // 返回生成的随机结果。
    return Result;
}

// 基于种子值生成随机序列的函数
inline random_series RandomSeed(uint32 Value) {
    // 创建一个 random_series 对象来保存结果
    random_series Series;

    // 通过将种子值对随机数表的大小取模，设置 RandomNumberIndex
    // 这样可以确保索引值在表的范围内
    Series.Index = Value % ArrayCount(RandomNumberTable);

    // 返回生成的随机序列对象
    return Series;
}
#endif